package com.bbva.gptf.back.transformador;

import java.util.Locale;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.back.dominio.Tgpt010Perfil;
import com.bbva.gptf.dto.bean.Perfil;
import com.bbva.jee.arq.spring.core.log.I18nLog;
import com.bbva.jee.arq.spring.core.log.I18nLogFactory;

/**
 * @author Javier Estrella Rodriguez
 * @version 1.0
 * @created 07-ene-2013 18:56:31
 */
public class Tgp010PerfilTransformador implements
		Converter<Perfil, Tgpt010Perfil> {

	@Autowired
	@Qualifier("locale_ES")
	private transient Locale localizacion;

	private final I18nLog log = I18nLogFactory
			.getLogI18n(Tgp010PerfilTransformador.class);

	@Autowired
	private Tgp009TipoMercadoTransformador tipoMercadoTransformador;

	@Autowired
	private TransformadorTgpt061GpoPerfil transformadorTgpt061GpoPerfil;

	Tgpt010Perfil perfil;

	@Override
	public Tgpt010Perfil convert(final Perfil source) {
		if (log.isTraceEnabled()) {
			log.trace(localizacion, "entrada.metodo",
					"Tgpt010Perfil convert(Perfil source)");
		}
		perfil = null;
		if (source != null) {
			perfil = new Tgpt010Perfil();
			perfil.setCdPerfil(source.getCdPerfil());
			perfil.setNbPerfil(source.getNbPerfil());
			perfil.setCdMercado(tipoMercadoTransformador.convert(source
					.getMercado()));
			perfil.setCdGrupoPerfil(transformadorTgpt061GpoPerfil
					.convert(source.getGrupoPerfil()));
			perfil.setFhUmo(source.getFhUmo());
			perfil.setTmUmo(source.getTmUmo());
			perfil.setCdUsuarioUmo(source.getCdUsuarioUmo());
		}
		return perfil;
	}

	public void setLocalizacion(final Locale localizacion) {
		this.localizacion = localizacion;
	}

	public void setTipoMercadoTransformador(
			final Tgp009TipoMercadoTransformador tipoMercadoTransformador) {
		this.tipoMercadoTransformador = tipoMercadoTransformador;
	}

	/**
	 * @param transformadorTgpt061GpoPerfil
	 *            the transformadorTgpt061GpoPerfil to set
	 */
	public void setTransformadorTgpt061GpoPerfil(
			final TransformadorTgpt061GpoPerfil transformadorTgpt061GpoPerfil) {
		this.transformadorTgpt061GpoPerfil = transformadorTgpt061GpoPerfil;
	}

}